NOTE
1.36 MySQL InnoDB
1. InnoDB Features 1.1. Supports Transactions - InnoDB Transactions.md 1.2. Supports Row-Level Locks - MySQL Locks.md 1.3. Supports MVCC - InnoDB MVCC.md 2. InnoDB Architecture 2.1. Memory Layer 2.1.1. Buffer Pool - Read buffer; its purpose is to improve InnoDB performance, accelerate read requests, and avoid disk I/O for every data access
This is a historical learning note and may contain outdated or incomplete understanding.
1. InnoDB Features
1.1. Supports Transactions
1.2. Supports Row-Level Locks
1.3. Supports MVCC
2. InnoDB Architecture

2.1. Memory Layer
2.1.1. Buffer Pool
- Read buffer. Its purpose is to improve InnoDB performance, accelerate read requests, and avoid disk I/O for every data access.
- InnoDB Buffer Pool.md
2.1.2. Change Buffer
- Write buffer. Its purpose is to improve InnoDB performance, accelerate write requests, and avoid disk I/O for every write.
- redo log mainly saves the I/O cost of random disk writes by converting them into sequential writes, while change buffer mainly saves the I/O cost of random disk reads.
2.1.3. Log Buffer
- Log buffer. Its purpose is to improve InnoDB performance by storing data that will be written to log files on disk; the contents of the buffer are periodically flushed to disk.
2.1.4. Adaptive Hash Index
- Adaptive hash index. Its purpose is to improve InnoDB performance by building hash indexes using prefixes of index keys to increase query speed.
2.2. Disk Layer
2.2.1. Tables
- Physical structure of data tables.
- MySQL File System.md
2.2.2. Indexes
- Physical structure of indexes.
- MySQL Indexes.md
2.2.3. Tablespaces
- Tablespaces, the data storage area.
- InnoDB Tablespaces.md
2.2.4. Redo Log
- A log that records DML operations and is used for data recovery after a crash.
- InnoDB redo log.md
2.2.5. Undo Logs
- Snapshots from before data changes, which can be used to roll back data.
- InnoDB undo log.md
Discussion
Sign in with GitHub to comment. Discussions are stored as GitHub Issues.View on GitHub